var name = "chilem"  // 数据库名称
//监听数据库是否开启
export const isOpen = () => {
		let open = plus.sqlite.isOpenDatabase({
			name: name,
			path: `_doc/${name}.db`, 
		})

		return open
}
export function openSqlite(){
    //创建数据库或者打开
    //这plus.sqlite只在手机上运行
    return new Promise((resolve,reject) =>{
        if(isOpen()){
            // console.log("数据库已经打开了")
            resolve("数据库已经打开");
            return true
        }
        // console.log("开始打开数据库")
        plus.sqlite.openDatabase({
            name,  //数据库名称
            path:`_doc/${name}.db`,   //数据库地址，uniapp推荐以下划线为开头，这到底存在哪里去了，我也不清楚，哈哈
            success(){
                // console.log("成功打开数据库")
                resolve("成功打开数据库"); //成功回调
            },
            fail(e){
                // console.log("失败打开数据库",e)
                reject(e); //失败回调
            }
        })
    })
}
//关闭数据库
export function closedb(){
    return new Promise((resolve,reject) =>{
        plus.sqlite.closeDatabase({
            name,
            success(e){
                resolve(e);
            },
            fail(e){
                reject(e);
            }
        })
    })
}
// 执行sql语句
export function executeSql(sql){
    return new Promise((resolve,reject) =>{
        //创建表格在executeSql方法里写
        // console.log("开始执行自定义sql",sql)
        plus.sqlite.executeSql({
            name,
            //表格创建或者打开，后面为表格结构
            sql:sql,
            success(e){
                resolve(e);
            },
            fail(e){
                console.error("自定义sql报错",e)
                reject(e);
            }
        })
    })
}
// 查询sql语句
export function selectSql(sql){
    return new Promise((resolve,reject) =>{
        // console.log("开始执行自定义sql",sql)
        plus.sqlite.selectSql({
            name,
            //表格创建或者打开，后面为表格结构
            sql:sql,
            success(e){
                resolve(e);
            },
            fail(e){
                console.error("自定义sql报错",e)
                reject(e);
            }
        })
    })
}
// 查询表是否存在
export const isTable = (tableName) => {
    return new Promise((resolve, reject) => {
        plus.sqlite.selectSql({
            name: name,
            sql: `select count(*) as isTable FROM sqlite_master where type='table' and name='${tableName}'`,
            success(e) {
                resolve(e[0].isTable ? true : false);
            },
            fail(e) {
                console.log(e)
                reject(e);
            }
        })
    })
}
